home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / comm / scr104a.zip / MAKEQM4.CM0 < prev    next >
Text File  |  1991-12-30  |  8KB  |  437 lines

  1. %ok := TRUE
  2. OpenBox 1   0 0 79 24 "- Scripta Generator for PC-Board with Qmail 4.00 "
  3. %generate := TRUE
  4. %getresp := FALSE
  5. Gosub GetInfo
  6. If %generate
  7.    Shell "!Generate %packet !PCBQM4.TEM"
  8. EndIf
  9. CloseBox 1
  10. Exit
  11.  
  12. :GetInfo
  13. Fore YELLOW
  14. RowCol 2 2
  15. Message "QWK packet name used by BBS:"
  16. RowCol 2 40
  17. Message "Qmail door open command:"
  18. RowCol 4 2
  19. Message "Full name of BBS:"
  20. RowCol 4 52
  21. Message "Ansi Graphics:"
  22. RowCol 6 2
  23. Message "Username on this BBS:"
  24. RowCol 6 53
  25. Message "Virtual Port:"
  26. RowCol 8 2
  27. Message "Password on this BBS:"
  28. RowCol 8 47
  29. Message "Main Menu Prompt:"
  30. RowCol 10 2
  31. Message "Telephone Number 1:"
  32. RowCol 12 2
  33. Message "Telephone Number 2:"
  34. RowCol 14 2
  35. Message "Telephone Number 3:"
  36. RowCol 16 2
  37. Message "Telephone Number 4:"
  38. RowCol 18 2
  39. Message "Seconds to wait for connection:"
  40. RowCol 18 37
  41. Message "Ask before deleting .F?L files?"
  42. RowCol 20 2
  43. Message "Gateway string:"
  44. RowCol 20 39
  45. Message "Response:"
  46. RowCol 22 2
  47. Fore White
  48. CurOff
  49. Message "Please wait..."
  50. Gosub GetCFGFile
  51. If %generate
  52.    Gosub Display
  53. EndIf
  54. RowCol 22 2
  55. CLL
  56. CurOn
  57. If %generate
  58.    Gosub GetQKey
  59. EndIf
  60. If %generate
  61.    Gosub GetBBS
  62. EndIf
  63. If %generate
  64.    Gosub GetAnsi
  65. EndIf
  66. If %generate
  67.    Gosub GetUser
  68. EndIf
  69. If %generate
  70.    Gosub GetPort
  71. EndIf
  72. If %generate
  73.    Gosub GetPword
  74. EndIf
  75. If %generate
  76.    Gosub GetMMPrompt
  77. EndIf
  78. If %generate
  79.    Gosub GetNumbers
  80. EndIf
  81. If %generate
  82.    Gosub GetWaitTime
  83. EndIf
  84. If %generate
  85.    Gosub GetConfirm
  86. EndIf
  87. If %generate
  88.    Gosub GetGateway
  89. EndIf
  90. If %generate & %getresp
  91.    Gosub GetResponse
  92. EndIf
  93. If %generate
  94.    Gosub PutCFGFile
  95. EndIf
  96. If %generate
  97.    RowCol 22 2
  98.    Fore Yellow
  99.    Message "Continue with script generation? (Y/N) "
  100.    Fore White
  101.    %a := "z"
  102.    While $eq(%a,"z")
  103.       CurOn
  104.       GetKey %a %b
  105.       CurOff
  106.       $caps %a
  107.       If $eq(%a,"N")
  108.          %generate := FALSE
  109.       ElsIf $eq(%a,"Y")
  110.          %generate := TRUE
  111.       Else
  112.          %a := "z"
  113.       EndIf
  114.    EndWhile
  115.    Message %a
  116. EndIf
  117. Return
  118.  
  119. :Display
  120. Fore WHITE
  121. RowCol 2 31
  122. Message "%packet"
  123. RowCol 2 65
  124. Message "%qkey"
  125. RowCol 4 20
  126. Message "%bbs"
  127. RowCol 4 67
  128. Message "%ansi"
  129. RowCol 6 24
  130. Message "%name"
  131. RowCol 6 67
  132. Message "%vport"
  133. RowCol 8 24
  134. Message "%pword"
  135. RowCol 8 65
  136. Message "%mmprompt"
  137. RowCol 10 22
  138. Message "%numbera"
  139. RowCol 12 22
  140. Message "%numberb"
  141. RowCol 14 22
  142. Message "%numberc"
  143. RowCol 16 22
  144. Message "%numberd"
  145. RowCol 18 34
  146. Message "%waittime"
  147. RowCol 18 69
  148. Message "%confirm"
  149. RowCol 20 18
  150. Message %gateway
  151. RowCol 20 49
  152. Message |%response
  153. Return
  154.  
  155. :GetQKey
  156. RowCol 2 65
  157. %buffer := "%qkey"
  158. Input %buffer 12 25 %buffer
  159. CurOn
  160. %generate := $len(%buffer) # 0
  161. If %generate
  162.    %qkey := "%buffer"
  163. EndIf
  164. Return
  165.  
  166. :GetMMPrompt
  167. RowCol 8 65
  168. %buffer := "%mmprompt"
  169. Input %buffer 12 25 %buffer
  170. CurOn
  171. %generate := $len(%buffer) # 0
  172. If %generate
  173.    %mmprompt := "%buffer"
  174. EndIf
  175. Return
  176.  
  177. :GetBBS
  178. RowCol 4 20
  179. %buffer := "%bbs"
  180. Input %buffer 30 30 %buffer
  181. CurOn
  182. %generate := $len(%buffer) # 0
  183. If %generate
  184.    %bbs := "%buffer"
  185. EndIf
  186. Return
  187.  
  188. :GetAnsi
  189. RowCol 4 67
  190. %buffer := "%ansi"
  191. Input %buffer 1 1 %buffer
  192. CurOn
  193. %generate := $len(%buffer) # 0
  194. If %generate
  195.    %ansi := "%buffer"
  196. EndIf
  197. Return
  198.  
  199. :GetUser
  200. RowCol 6 24
  201. %buffer := "%name"
  202. Input %buffer 25 25 %buffer
  203. CurOn
  204. %generate := $len(%buffer) # 0
  205. If %generate
  206.    %name := "%buffer"
  207. EndIf
  208. Return
  209.  
  210. :GetPort
  211. RowCol 6 67
  212. %buffer := "%vport"
  213. Input %buffer 1 1 %buffer
  214. CurOn
  215. %generate := $len(%buffer) # 0
  216. If %generate
  217.    %vport := "%buffer"
  218. EndIf
  219. Return
  220.  
  221. :GetPword
  222. RowCol 8 24
  223. %buffer := "%pword"
  224. Input %buffer 12 12 %buffer
  225. CurOn
  226. %generate := $len(%buffer) # 0
  227. If %generate
  228.    %pword := "%buffer"
  229. EndIf
  230. Return
  231.  
  232. :GetNumbers
  233. %i := 1
  234. While %i < 5
  235.    %row := 8+(2*%i)
  236.    RowCol %row 22
  237.    Case %i
  238.      CaseOf 1
  239.         %buffer := "%numbera"
  240.      CaseOf 2
  241.         %buffer := "%numberb"
  242.      CaseOf 3
  243.         %buffer := "%numberc"
  244.      CaseOf 4
  245.         %buffer := "%numberd"
  246.    EndCase
  247.    Input %buffer 25 25 %buffer
  248.    CurOn
  249.    If $len(%buffer) # 0
  250.       If $eq(%buffer[0],"*")
  251.          %buffer := ""
  252.          RowCol %row 22
  253.          Message "                         "
  254.       EndIf
  255.       Case %i
  256.         CaseOf 1
  257.            %numbera := "%buffer"
  258.         CaseOf 2
  259.            %numberb := "%buffer"
  260.         CaseOf 3
  261.            %numberc := "%buffer"
  262.         CaseOf 4
  263.            %numberd := "%buffer"
  264.       EndCase
  265.    EndIf
  266.    Inc %i
  267. EndWhile
  268. Return
  269.  
  270. :GetWaitTime
  271. RowCol 18 34
  272. %buffer := "%waittime"
  273. Input %buffer 2 2 %buffer
  274. CurOn
  275. %generate := $len(%buffer) # 0
  276. If %generate
  277.    %waittime := "%buffer"
  278. EndIf
  279. Return
  280.  
  281. :GetConfirm
  282. %buffer := "%confirm"
  283. %old := "%buffer"
  284. %ok := FALSE
  285. While not %ok
  286.    %ok := TRUE
  287.    RowCol 18 69
  288.    Input %buffer 1 1 %buffer
  289.    $caps %buffer
  290.    If $ne(%buffer,"Y") & $ne(%buffer,"N") & $ne(%buffer,"")
  291.       %ok := FALSE
  292.       %buffer := %old
  293.    EndIf
  294. EndWhile
  295. %generate := $len(%buffer) # 0
  296. If %generate
  297.    %confirm := "%buffer"
  298. EndIf
  299. RowCol 18 69
  300. Message %confirm
  301. Return
  302.  
  303. :GetGateway
  304. RowCol 20 18
  305. %buffer := "%gateway"
  306. Input %buffer 20 20 %buffer
  307. CurOn
  308. %gateway := "%buffer"
  309. %getresp := $len(%gateway) # 0
  310. If not %getresp
  311.    %response := ""
  312.    RowCol 20 18
  313.    Message "                    "
  314.    RowCol 20 49
  315.    Message "                    "
  316. EndIf
  317. Return
  318.  
  319. :GetResponse
  320. %buffer := "%response"
  321. %ok := FALSE
  322. While not %ok
  323.    RowCol 20 49
  324.    Input %buffer 20 20 %buffer
  325.    CurOn
  326.    %ok := $len(%buffer) # 0
  327. EndWhile
  328. %response := "%buffer"
  329. Return
  330.  
  331. :BadWrite
  332. Message "Error writing to file " "%ScrName^M^J^M^J "
  333. Gosub Bad
  334. Return
  335.  
  336. :Bad
  337. CurOff
  338. Message "Press any key when ready."
  339. GetKey %a %b
  340. CurOn
  341. Return
  342.  
  343. :PutCFGFile
  344. %cfg := fopen %cfgname
  345. If %Error
  346.    Message "Error re-opening file " %cfgname
  347.    %generate := FALSE
  348. Else
  349.    %cfg := fwrite Q
  350.    %cfg := fnewline
  351.    %cfg := fwrite %name
  352.    %cfg := fnewline
  353.    %cfg := fwrite %pword
  354.    %cfg := fnewline
  355.    %cfg := fwrite %qkey
  356.    %cfg := fnewline
  357.    %cfg := fwrite %bbs
  358.    %cfg := fnewline
  359.    %cfg := fwrite %ansi
  360.    %cfg := fnewline
  361.    %cfg := fwrite %numbera
  362.    %cfg := fnewline
  363.    %cfg := fwrite %numberb
  364.    %cfg := fnewline
  365.    %cfg := fwrite %numberc
  366.    %cfg := fnewline
  367.    %cfg := fwrite %numberd
  368.    %cfg := fnewline
  369.    %cfg := fwrite %waittime
  370.    %cfg := fnewline
  371.    %cfg := fwrite %gateway
  372.    %cfg := fnewline
  373.    %cfg := fwrite %response
  374.    %cfg := fnewline
  375.    %cfg := fwrite %vport
  376.    %cfg := fnewline
  377.    %cfg := fwrite %confirm
  378.    %cfg := fnewline
  379.    %cfg := fwrite %mmprompt
  380.    %cfg := fnewline
  381.    %cfg := fclose
  382.    %generate := TRUE
  383. EndIf
  384. Return
  385.  
  386. :GetCFGFile
  387. %qkey := "Qmail"
  388. %name := ""
  389. %pword := ""
  390. %bbs := ""
  391. %ansi := "Y"
  392. %numbera := ""
  393. %numberb := ""
  394. %numberc := ""
  395. %numberd := ""
  396. %waittime := "20"
  397. %gateway := ""
  398. %response := ""
  399. %vport := "%dport"
  400. %confirm := "Y"
  401. %mmprompt := ""
  402. RowCol 22 2
  403. %cfgname := "%packet..CFG"
  404. %cfg := fopen %cfgname
  405. If %Error
  406.    %cfg := fcreate %cfgname
  407.    If %Error
  408.       Message "Unable to open or create file " %cfgname ". Press a key."
  409.       CurOff
  410.       GetKey %a %b
  411.       CurOn
  412.       %generate := FALSE
  413.    Else
  414.       Message "New file created - %cfgname"
  415.       %cfg := fclose
  416.    EndIf
  417. Else
  418.    %cfg := fread %name  ; dummy read to bypass the 'Type'
  419.    %cfg := fread %name
  420.    %cfg := fread %pword
  421.    %cfg := fread %qkey
  422.    %cfg := fread %bbs
  423.    %cfg := fread %ansi
  424.    %cfg := fread %numbera
  425.    %cfg := fread %numberb
  426.    %cfg := fread %numberc
  427.    %cfg := fread %numberd
  428.    %cfg := fread %waittime
  429.    %cfg := fread %gateway
  430.    %cfg := fread %response
  431.    %cfg := fread %vport
  432.    %cfg := fread %confirm
  433.    %cfg := fread %mmprompt
  434.    %cfg := fclose
  435. EndIf
  436. Return
  437.